import { FunctionArgs } from "@vueuse/core";

export interface ILeftOptionData {
    /**搜索关键字 */
    keyWord: string;
    /**原始待选选项 */
    originalOptions: OptionsType[];
    /**当前页value */
    originalOptionsValue: string[];
    /**过滤待选选项 */
    filterOptions: OptionsType[];
    current: number;
    total: number;
    pageSize: number;
    /**是否全选 */
    checkAll: boolean;
    /**选择一些 */
    indeterminate: boolean;
    /**全选 */
    handleCheckAllChange: FunctionArgs;
    /**分页 */
    handlePaginationChange: FunctionArgs;
    /**搜索 */
    handleSearch: FunctionArgs;
    /**复选框变化 */
    handleCheckChange: FunctionArgs;
    /**是否选中 */
    isChecked: (value: string) => boolean;
    /**更新全选状态 */
    updateCheckAll: FunctionArgs;
}

export interface IRightOptionData {
    /**已选项过滤关键字 */
    stateKeyWord: string;
    /**已选value */
    originalSelectedValue: string[];
    /**已选数据 */
    originalSelectedOption: OptionsType[];
    /**过滤已选数据 */
    filterSelectedOption: OptionsType[];
    /**删除 */
    handleDel: FunctionArgs;
    /**清空全部 */
    handleDelAll: FunctionArgs;
}

export interface OptionsType { label: string; value: string };